#include"queue.h"
#include<stdlib.h>
Status InitStack(SqStack &S)
{
	S.base = new SElemType[MAXSIZE];
	if (!S.base)exit(OVERFLOW);
	S.top = S.base;
	S.stacksize = MAXSIZE;
}
Status DestroyStack(SqStack &S)
{
	if (S.base) {
		delete[] S.base;
		S.base = S.top = NULL;
		S.stacksize = 0;
	}
	return OK;
}
Status StackEmpty(SqStack S)
{
	if (S.top == S.base)
		return TRUE;
	return FALSE;
}
int StackLength(SqStack S)
{
	return S.top - S.base;
}
Status GetTop(SqStack S, SElemType &e)
{

}
Status ClearStack(SqStack &S)
{
	if (S.base)S.top = S.base;
	return OK;
}
Status Push(SqStack &S, SElemType e)
{
	if (S.base&&S.top-S.base!=S.stacksize)
	{
		*S.top++ = e;
		return OK;
	}
	return ERROR;
}
Status Pop(SqStack &S, SElemType &e)
{
	if (S.top == S.base)
		return ERROR;
	e = *S.top--;
	return OK;
}